Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units (host adapters), disk drives, and disk interface units (disk adapters). Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass., and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek, which are incorporated herein by reference. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels of the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical volumes. The logical volumes may or may not correspond to the actual disk drives.
In some instances, it is desirable to provide a point-in-time copy of a logical volume. An example of a logical point-in-time copy version of the volume may be a snapshot copy that may be obtained relatively quickly and without significant overhead by creating a data structure initially containing pointers that point to sections of the logical volume. As data is written to sections of the logical volume (e.g., tracks) two different versions of data are maintained. A first version of the data represents the original data that existed when the snapshot was initiated and a second version of the data represents the new data being written. Any subsequent writes to the same section overwrite the second version. A snapshot does not replicate a full copy of the data set (referred to as a production data set). Rather, the snapshot only stores differences between a current version of the production data set and the version of the data set at the point in time when the snapshot was taken. There are many different specific mechanisms for providing snapshot copies, see, for example, U.S. Pat. No. 7,340,489 to Vishlitzky, et al., entitled “Virtual Storage Devices,” and U.S. Pat. No. 6,792,518 to Armangau et al., entitled “Data Storage System Having Mata [Meta] Bit Maps for Indicating Whether Data Blocks are Invalid in Snapshot Copies,” which are both incorporated by reference herein and are both assigned to EMC Corporation.
Snapshots are useful for recovering from logical errors. For example, if a logical device contains data for a database for which a point-in-time copy is made at 10:00 a.m., and a user inadvertently erases important data at 11:00 a.m. (or a program error causes corruption of the data for the database), then it is possible to recover the 10:00 a.m. version of the data using the snapshot. Note also that, since a snapshot may be initiated by creating a table of pointers to actual data, then there is relatively little overhead/time associated with creating a snapshot.
Users of storage management systems may make use of snapshot products, and/or other point-in-time data copy products, to establish a line of “history” for all the user data that flows through the system. Known solutions offer facilities to allow users to roll their data back to a point in past history. However, problems in known solutions may occur in situations where the user wants to roll back to a past point due to performance or stability issues attributed to storage system configuration changes. In such a scenario, a data rollback only may not be sufficient to address the performance or stability issues.
Accordingly, it would be desirable to provide for system that enables point-in-time copy and rollback features that addressed the above-noted issues and problems.